<?php if(!defined('BASEPATH'))exit('No direct script allowed');
class Userinfo extends AppController{
	public function __construct(){
		 parent::__construct();
	}
	public function admin_index($sortBy='id',$sortOrder='desc'){
		$pag = array(
			'table'=>'Userinfo',
			'uri_segment'=>6,
			'sort'=>true,
			'per_page'=>10,
			'sortList'=>array('stt'=>'id','Họ'=>'firstname','Tên'=>'lastname','Email'=>'email','Địa chỉ'=>'address','Ngày sinh'=>'birthday','Giới tính'=>'gender','date'=>'date'),
			'base_url'=>'/admin/userinfo/index',
			'sortBy'=>$sortBy,'sortOrder'=>$sortOrder
			);
		$pag = $this->paginate($pag);
		$pag['total_rows'] = $this->getEM()->getRepository('Entity\ShUserinfo')->total_rows($pag);
		$this->pagination->initialize($pag);
		$this->data['pagination_link']= $this->pagination->create_links();
		$this->data['userinfo']= $this->getEM()->getRepository('Entity\ShUserinfo')->backendPaginate($pag);

		$this->render('userinfo/admin_index',array('back.js'));
	}
	public function admin_edit($id = null){
		$id = (int)$id;
		if(empty($id) || !is_int($id)):
			$this->session->set_flashdata('error','Sai mã người dùng');
		redirect('/admin/user');
		endif;
		$this->userinfo_edit($id);
		$this->render('userinfo/admin_edit');
	}
	private function userinfo_edit($id, $url = 'admin'){
		$rep = $this->getEM()->getRepository('Entity\ShUserinfo');
		$this->data['userinfo'] = $rep->findOneById($id);
		if(empty($this->data['userinfo'])):
			$this->session->set_flashdata('error','Không có thông tin người này');
		redirect('/'.$url.'/user');
		endif;

		$this->validation();
		if($this->input->post() && $this->form_validation->run('userinfo')):
			$userinfo = $this->getEM()->getRepository('Entity\ShUserinfo')->updateUserinfo($this->input,$this->data['userinfo']);
		if($userinfo):
			$this->session->set_flashdata('success','Sửa thông tin thành công');
		redirect('/'.$url.'/userinfo');
		else:
			$this->data['flash'] = array('error'=>'Lỗi sql,Thử lại');
		endif;
		endif;
	}
	public function admin_delete($id = null,$url='admin'){
		$this->data['userinfo']= $this->getEM()->getRepository('Entity\ShUserinfo')->findOneById($id);
		if(empty($this->data['userinfo'])):
			$this->session->set_flashdata('error','Không Có thông tin người dùng này');
		redirect('/'.$url.'/userinfo');
		endif;
		$this->validation();
		if($this->input->post() && $this->form_validation->run('userinfo')):
			if($this->getEM()->getRepository('Entity\ShUserinfo')->deleteUserinfo($this->data['userinfo'])):
				$this->session->set_flashdata('success','Xóa thông tin thành công');
			redirect('/'.$url.'/userinfo');
			else:
				$this->data['flash']= array('error'=>'Lỗi sql,thử lại');
			endif;
			endif;

			$this->render('userinfo/admin_delete');
	}
	public function admin_add(){
		$this->ufadd();
		$this->data['user'] = $this->getEM()->getRepository('Entity\ShUser')->findAll();
		$this->data['breadcrum'] = array(
			'Thông Tin Người Dùng' => base_url('/admin/userinfo'),
			'Thêm Thông Tin Người dùng' => null
			);
		$this->render('userinfo/admin_add',
			array('jquery.sceditor.bbcode.min','language/vi','sceditor','thumbnail-module'),
			array('default.min','tabs')
				);
	}
	private function ufadd(){
		$this->validation();

		if($this->input->post() && $this->form_validation->run('userinfo')):
			if($this->getEM()->getRepository('Entity\ShUserinfo')->addUserinfo($this->input)):
				$this->session->set_flashdata('success','Thêm Thông tin thành công');
			redirect('/admin/userinfo');
			else:
				$this->data['flash'] = array('error'=>'lỗi sql,thử lại');
			endif;
			endif;

			return true;
	}
}
?>